// 手机号验证
export const validatePhone = (rule, value, callback) => {
  if (value) {
    const reg = /^1[3456789]\d{9}$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('请输入正确的手机号'))
    }
  } else {
    callback()
  }
}

// 邮箱验证
export const validateEmail = (rule, value, callback) => {
  if (value) {
    const reg = /^(.*?)+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,3}$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('请输入正确的邮箱地址'))
    }
  } else {
    callback()
  }
}

// 密码验证
export const validatePassword = (rule, value, callback) => {
  if (value) {
    const reg = /^.*(?=.{6,14})(?=.*\d)(?=.*[a-zA-Z]).*$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('密码强度太弱，需含6-14位字母，数字'))
    }
  } else {
    callback()
  }
}

// 身份证号码验证
export const validateIdCard = (rule, value, callback) => {
  if (value) {
    const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
    if (reg.test(value)) {
      callback()
    } else {
      callback(new Error('请输入正确的身份证号码'))
    }
  } else {
    callback()
  }
}

// 社会信用代码验证
export const validateCreditCode = (rule, value, callback) => {
  if (value) {
    const reg = /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/
    if (reg.test(value)) {
      callback()
    } else {
      callback(new Error('请输入正确的社会信用代码'))
    }
  } else {
    callback()
  }
}
